The Virtual Reality Modeling Language

7. Conformance and Minimum Support Requirements

Version 2.0, ISO/IEC WD 14772

August 4, 1996

7.1 Introduction

7.2 Conformance

7.3 Minimum support requirements

7.1 Introduction

7.1.1 Objectives

This clause provides rules for identifying conforming generators and interpreters of ISO/IEC 14772 along with specifications as to the minimum level of complexity which must be supported.

The primary objectives of these rules are:

  1. to promote interoperability by eliminating arbitrary subsets of, or extensions to, ISO/IEC 14772;
  2. to promote uniformity in the development of conformance tests;
  3. to facilitate automated test generation.

7.1.2 Scope

This clause provides conformance criteria for metafiles, metafile generators, and metafile interpreters.

This clause addresses the VRML data stream and implementation requirements. Implementation requirements address the latitude allowed by VRML generators and interpreters. This clause does not directly address the environmental, performance, or resource requirements of the generator or interpreter.

This clause does not define the application requirements or dictate application functional content within a VRML file.

The scope of this clause is limited to rules for the open interchange of VRML content.

7.2 Conformance

7.2.1 Conformance of metafiles

Conformance of metafiles to ISO/IEC 14772 is defined in terms of the functionality and form specified in Part 1. In order to conform to ISO/IEC 14772, a metafile shall be a syntactically correct metafile.

A metafile is a syntactically correct version of ISO/IEC 14772 if the following conditions are met:

  1. The metafile contains as its first element a VRML header comment node;
  2. All nodes contained therein match the functional specification of the corresponding nodes of ISO/IEC 14772-1. The metafile shall obey the relationships defined in the formal grammar and all other syntactic requirements.
  3. The sequence of nodes in the metafile obeys the relationships specified in ISO/IEC 14772-1 producing the structure specified in ISO/IEC 14772-1. For example, ...
  4. No nodes appear in the metafile other than those specified in ISO/IEC 14772-1 unless required for the encoding technique. All nodes not defined in ISO/IEC 14772-1 are encoded using the PROTO or EXTERNPROTO nodes.
  5. The metafile is encoded according to the rules in the standard clear text encoding in ISO/IEC 14772-1 or such other encodings that are standardized.

7.2.2 Conformance of metafile generators

Conformance of metafile generators is defined in terms of conformance to the functionality defined in ISO/IEC 14772-1. A metafile generator which conforms to ISO/IEC 14772 shall:

  1. generate no syntax in violation of ISO/IEC 14772;
  2. generate metafiles which conform to ISO/IEC 14772;
  3. map the graphical characteristics of application pictures onto a set of VRML nodes which define those pictures within the latitude allowed in ISO/IEC 14772.

7.2.3 Conformance of metafile interpreters

Conformance of metafile interpreters is defined in terms of the functionality in ISO/IEC 14772. A metafile interpreter which conforms to ISO/IEC 14772 shall:

  1. be able to read any metafile which conforms to ISO/IEC 14772;
  2. render the graphical characteristics of the VRML nodes in any such metafile into a graphical image or picture within the latitude defined in ISO/IEC 14772.

7.3 Minimum support requirements

7.3.1 Minimum support requirements for generators

There is no minimum complexity which must be supported by a conforming VRML generator except that the file must contain the required VRML header. Any compliant set of nodes may be generated of arbitrary complexity.

7.3.2 Minimum support requirements for interpreters

This subclause defines the minimum complexity which must be supported by a VRML interpreter. Interpreter implementations may choose to support greater limits but may not reduce the limits described in Table 7-1. When the metafile being interpreted contains nodes which exceed the latitude implemented by the interpreter, the interpreter will attempt to skip that node and continue at the next node. Where latitude is specified in this table for a particular node, full support is required for other aspects of that node.

Table 7-1: Minimum support criteria for VRML interpreters

Node

Minimum support

All groups At least 512 children. Ignore bboxCenter and bboxSize
All interpolators At least first 256 key-value pairs interpreted
All lights At least 8 simultaneous lights.
All strings At least 255 characters per string
All URL fields At least 16 URL's per field
Transformation stack At least 32 levels in the transformation stack
Anchor Ignore parameters. Ignore description
Appearance Full support
AudioClip

Ignore description. At least 30 seconds duration.

Wavefile in uncompressed PCM format
Background Full support
Billboard Full support except as for all groups
Box Full support
Collision Full support except as for all groups
Color Full support
ColorInterpolator Full support except as for all interpolators
Cone Full support
Coordinate At least first 16384 coordinates per coordinate node supported with indices to others ignored
CoordinateInterpolator Full support except as for all interpolators
Cylinder Full support
CylinderSensor Full support except as for all interpolators
DirectionalLight Global application of light source
ElevationGrid At least 16384 heights per grid
Extrusion At least 64 joints per extrusion. At least 1024 vertices in cross-section.
Fog Full support
FontStyle If non-Latin characters, family can be ignored.
Group Full support except as for all groups
ImageTexture Point sampling. At least JPEG and PNG formats
IndexedFaceSet

At least 1024 vertices per face. At least 1024 faces.

Ignore ccw. Ignore convex. Ignore solid.
IndexedLineSet

At least 1024 vertices per polyline

At least 1024 polylines per set
Inline Full support except as for all groups
LOD At least first 4 level/range combinations shall be interpreted
Material

Ignore ambient intensity

Ignore specular colour

Ignore emissive colour

At least transparent and opaque with values less than 0.5 opaque
MovieTexture

At least one simultaneously active movie texture

At least MPEG1-Systems and MPEG1-Video
NavigationInfo

Ignore avatarSize

Ignore types other than "WALK", "FLY", "EXAMINE", and "NONE"

Ignore visibilityLimit
Normal At least first 16384 normals per normal node supported with indices to others ignored
NormalInterpolator Full support except as for all interpolators
OrientationInterpolator Full support except as for all interpolators
PixelTexture At least 256256 image size
PlaneSensor Full support
PointLight Full support
PointSet At least 4096 points per point set
PositionInterpolator Full support except as for all interpolators
ProximitySensor Full support
ScalarInterpolator Full support except as for all interpolators
Script

At least 32 eventIns

At least 32 fields

At least 32 eventOuts
Shape Full support
Sound

At least 3 simultaneously active sounds

At least linear sound attenuation between inner and outer ellipsoids

At least spatialization across the panorama being viewed

At least 2 priorities
Sphere Full support
SphereSensor Full support
SpotLight Beam width can be ignored
Switch Full support except as for all groups
Text At least UTF-8 character encoding transformation format
TextureCoordinate At least first 16384 texture coordinates per texture coordinate node supported with indices to others ignored
TextureTransform Full support
TimeSensor Full support
TouchSensor Full support
Transform Full support except as for all groups
Viewpoint

Ignore fieldOfView

Ignore description
VisibilitySensor Full support
WorldInfo Full support


Contact rikk@best.com, cmarrin@sgi.com, or gavin@acm.org with questions or comments.
This URL: http://vrml.sgi.com/moving-worlds/spec/part1/conformance.html